Skip to main content
Version: Next

Описание операций

Настройка сервера как контролер домена

Для создания контроллера домена необходима виртуальная машина с Windows Server 2019 или 2016.

  1. Нужно прописать сетевые настройки на сервере: ip, маску, шлюз, в dns указываем свой ip, так как на сервере будет использоваться роль dns server, она устанавливается вместе с ролью active directory domain services;
  2. Откройте Диспетчер серверов, и выберите пункт «Add roles and features»:
  1. Укажите Role-based or feature-based installation в качестве типа установки;
  2. Выберете ваш сервер из пула
  3. Добавьте роль Active Directory Domain Services (Доменные службы Active Directory);
  4. Добавьте компоненты;
  5. Установите все отмеченные компоненты с помощью кнопки «Установить»;
  6. После установки нажимаем кнопку «Закрыть»;
  7. Откройте Диспетчер серверов и перейдите в роль AD DS:
  1. В меню нажмите на восклицательный знак (уведомления) и выберете Promote this server to a domain controller (Повысить роль этого сервера до уровня контроллера);
  2. В появившемся окне настроек выберите «Добавить новый лес» (т.к. действия выполняются впервые) и введите ваше доменное имя;
  3. Если домен новый (как в нашем случае) и в дальнейшем планируется использовать операционные системы не ниже Windows Server 2016, то режим работы леса и режим работы домена не меняем. Проверяем что установлена галочка на DNS-сервер;
  4. Установите пароль для режима восстановления службы каталогов и нажмите кнопку «Далее»;
  5. В Параметрах DNS ничего не меняем и нажимаем кнопку «Далее»;
  6. Укажите удобное имя домена NetBIOS. Рекомендуется оставить значения по умолчанию;
  7. Укажите пути до базы данных AD DS, файлов журналов и папки SYSVOL. Рекомендуется оставить значения по умолчанию;
  8. Проверьте настроенные параметры;
  9. Проверка предварительных требований сообщит все ли условия соблюдены и выведет отчет. Если проблем никаких не возникло, то мы сможем нажать кнопку «Установить»;
  10. После выполнения процесса повышения роли сервера до контроллера домена, сервер автоматически перезагрузится.

Настройка Keycloak

  1. Войдите в Keycloak под технической учетной записью;
  2. Нажмите на кнопку «Create realm»:
  1. Перейдите в раздел меню User Federation и нажмите кнопку Add new provider > LDAP:
  1. На вкладке Settings заполните поля согласно настройкам вашего AD: Connection URL, Bind ON, Bind credentials:

Для проверки соединения нажмите Test authentication:

  1. Сохраните настройки с помощью кнопки «Сохранить»;
  2. Перейдите на вкладку Mappers, затем Add mapper:
  1. Заполните данные согласно рисунку:
  1. Создайте маппер групп: Add mapper:
  1. Сохраните настройки с помощью кнопки «Сохранить»;
  2. Перейдите в раздел меню Clients и создайте клиент для подсистемы Recsystem согласно картинке:
  1. На вкладке Access settings настройте клиент как на картинке:
  1. На вкладке Advanced settings настройте клиент как на картинке:
  1. Перейдите на вкладку Service accounts roles и нажмите Assign role:
  2. Выберите группы как на картинке:
  3. Выполните синхронизацию групп:

Установка Docker

  1. Выполните обновление пакетов:
sudo apt-get update
  1. Установите вспомогательные пакеты с помощью команды:
apt-get install ca-certificates curl gnupg lsb-release
  1. Подключите репозиторий с Docker:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
  1. Выполните обновление пакетов:
sudo apt-get update
  1. Установите Docker:
sudo apt-get install docker-ce docker-ce-cli containerd.io

Установка программного комплекса Semantic TextNavigator

Монтирование сетевых папок для модулей STN

Примечание: Этот шаг нужен только если модулям stn-archive/stn-constructor нужно брать или сохранять файлы на сетевой Windows-папке (SMB); если всё хранится локально на сервере, шаг можно пропустить.

  1. Создайте/проверьте сервисную учётную запись с правами на сетевые папки;
  2. Создайте файл с учётными данными:
sudo nano /root/.smb_vmuser

Содержимое файла:

username=svc-mountuser
password=UserPassword
  1. Добавьте точку монтирования в /etc/fstab (пример):
sudo nano /etc/fstab

Пример строки:

//st-dc01/MSK/STNConstructorFileStorage /mnt/STNConstructorFileStorage cifs credentials=/root/.smb_vmuser,rw,nosharesock,vers=2.0,soft,noperm 0 0
  1. Примените монтирование папки:
sudo mount -a
  1. Проверьте доступ к папке:
ls -la /mnt/STNConstructorFileStorage

Копирование дистрибутива STN

  1. Скопируйте архив stn-common.zip на целевую машину в /opt (sftp/samba — наиболее удобным способом);
  2. Если unzip отсутствует, его можно установить следующей командой:
sudo apt install -y unzip
  1. Распакуйте архив:
sudo unzip /opt/stn-common.zip -d /opt/

После распаковки дистрибутива проверьте, что в каталоге /opt/stn-common/ присутствуют основные файлы и папки:

  • /opt/stn-common/Modules/

  • /opt/stn-common/.env

  • /opt/stn-common/install_stn.sh

  • /opt/stn-common/stn-compose.yml

  • /opt/stn-common/stn-dbtools

Подготовка STN к установке

  1. Отредактируйте файл окружения:
sudo nano /opt/stn-common/.env
  1. Выдайте права на выполнение команд:
sudo chmod +x /opt/stn-common/install_stn.sh
sudo chmod +x /opt/stn-common/stn-dbtools

Запуск установки STN

  1. Запустите установку командой:
cd /opt/stn-common/
sudo ./install_stn.sh

Сборка и запуск docker-compose (если требуется вручную)

Если установка с помощью ./install_stn.sh не работает автоматически, можно запустить вручную stn-compose.yml:

  1. Перейдите в каталог:
cd /opt/stn-common/
  1. Запустите docker-compose вручную:
sudo docker compose -f stn-compose.yml up -d
  1. Проверьте состояние контейнеров:
sudo docker compose -f stn-compose.yml ps

Настройка кластеризации компонентов

Настройка кластеризации поисковых компонентов AIS осуществляется в соответствии с Content AI Intelligent Search - Руководство по установке. Для настройки кластеризации остальных компонентов Системы используется HAProxy по протоколу TCP. Для настройки:

  1. Откройте конфигурационный файл HAProxy. Обычно он находится в /etc/haproxy/haproxy.cfg на Linux;
  2. Настройте глобальные параметры:
global
log /dev/log local0
log /dev/log local1 notice
chroot /var/lib/haproxy
stats socket /run/haproxy/admin.sock mode 660 level admin expose-fd listeners
stats timeout 30s
user haproxy
group haproxy
daemon
  1. Настройте параметры по умолчанию:
defaults
log global
mode tcp
option tcplog
option dontlognull
timeout connect 5000ms
timeout client 50000ms
timeout server 50000ms
maxconn 2048
  1. Настройте фронтенд и проксибек для балансировки TCP трафика:
 frontend my_frontend
bind :N – порт для прослушивания
default_backend my_backend
backend my_backend
balance leastconn
mode tcp
server server1 192.168.1.101:5000 check – Адрес сервера 1
server server2 192.168.1.102:5000 check – Адрес сервера 2
server server3 192.168.1.103:5000 check – Адрес сервера 3
frontend proxyback
bind : N – порт для прослушивания
default_backend my_backend
backend proxyback_backend
balance leastconn
mode tcp
server server1 192.168.1.101:5000 check – Адрес сервера 1
server server2 192.168.1.102:5000 check – Адрес сервера 2
server server3 192.168.1.103:5000 check – Адрес сервера 3
frontend logrel
bind : N – порт для прослушивания
default_backend logrel_backend
backend logrel_backend
balance leastconn
mode tcp
server logrel_server1 192.168.1.101:5000 check – Адрес сервера 1
server logrel_server2 192.168.1.102:5000 check – Адрес сервера 2
server logrel _server3 192.168.1.103:5000 check – Адрес сервера 3
frontend assistant
bind : N – порт для прослушивания
default_backend logrel_backend
backend assistant_backend
balance leastconn
mode tcp
server assistant _server1 192.168.1.101:5000 check – Адрес сервера 1
server assistant_logrel_server2 192.168.1.102:5000 check – Адрес сервера 2
server assistant _server3 192.168.1.103:5000 check – Адрес сервера 3
frontend reksystem
bind : N – порт для прослушивания
default_backend logrel_backend
backend reksystem_backend
balance roundrobin
option tcp-check
server reksystem_server1 192.168.1.107:8000 check
server reksystem_server2 192.168.1.108:8000 check
server reksystem_server3 192.168.1.109:8000 check
  1. Сохраните и закройте конфигурационный файл;
  2. Перезапустите HAProxy для применения изменений:
sudo systemctl restart haproxy